The present invention relates in general to visible light communication (VLC) sending digital data, and, more specifically, to optimizing alignment of generated light patterns to a pixel array of an image sensor to increase parallel data transmission capabilities.
Visible light based communication (VLC), also referred to as LiFi, is a wireless data communication technology being actively researched for automotive applications and for consumer electronics applications. Data transmission involves modulating (i.e., flashing) a light source such as a light emitting diode (LED) to encode data, and receiving the modulated light at a light sensor such as a photodiode or a camera to decode the data.
A vehicle having a VLC receiver might receive VLC signals from a fixed source (e.g., an LED traffic light) or from a mobile source (e.g., an LED signal light on another car). The data being shared may be related to traffic information or control, hazard warnings, navigation assistance, and many other types of data. A preferred image sensor is a “camera on a chip” comprising a two-dimensional array of pixels for capturing successive image frames taken at a rate that can distinguish the flashing of the light source. A camera with a wide field of view is desirable in order to detect and track a VLC image source, or even multiple sources simultaneously. A typical VLC transmitter uses a singular LED or an array of LEDs acting in unison. To increase the rate at which VLC data can be exchanged, individual LEDs or groups of LEDs can be modulated independently to provide parallel bit streams in the data transmission (e.g., taking advantage of a rolling shutter, as explained below). The number of separate streams based on a transmitter LED array and a receiver pixel array depends on various optical characteristics (separation distance, field of view, numbers of LED elements in the arrays, relative motion, exposure duration per pixel row, etc.) which determine the number of separate regions that can be generated by the LED array that fall within the resolution (resolving power) of the image sensor.
Complementary metal-oxide semiconductor (CMOS) image sensors are particularly advantageous since they provide good image quality with low power requirements, are low cost, and are often already present on a vehicle as an object detection sensor for other vehicle systems (e.g., a lane departure monitor). CMOS image sensors are also common on other types of devices which may be used as VLC receivers, such as smartphones.
A CMOS imager utilizes an image read-out process known as a rolling shutter, wherein the image exposure and read-out functions are conducted on a row-by-row basis (i.e., the rows of pixel are converted into a digital signal one row at a time). As used herein, the terms “row” and “column” are used interchangeably since CMOS sensors are available in different configurations that handle lines of pixels from top to bottom of an image and from side to side. Moreover, the CMOS sensor could be placed on mounted to a printed circuit board (PCB) oriented in any orthogonal direction, and the camera containing the PCB could be attached to the vehicle such that the row and column directions have been rotated to any orthogonal direction (based on the mounting requirements). The use of a rolling shutter results in a temporal aliasing, wherein the image's pixel row/columns include a slight time delay that may capture artifacts in moving objects or changes in lighting levels in the scene since different rows within a single image frame will capture the same object at slightly different times. This property of the rolling shutter has been used to increase the data rate of a VLC transmission by flashing the LED source at a frequency corresponding to the exposure times of successive rows (requiring that the LED source spans a plurality of the pixel rows in the camera). The resulting image of the LED source consequently displays alternating bands of light and dark lines which encode successive bits in a serial data stream.
It would be desirable to further increase data transmission speeds with a robust, reliable system that maintains low cost and which enables more data-hungry applications.